import {
  modal,
  toast,
  asyncSetStorage
} from '../../utils/util'
Page({
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getSwiperUrl()
  },
  /**
   * 页面的初始数据
   */
  data: {
    swiperList: [],
    popupShow: false,
    name: ''
  },
  async select() {
    if (this.data.name === '') return toast({
      title: '请输入要查询的食物名字',
      mask: false
    })
    wx.showLoading({
      title: "正在查询中..."
    })
    wx.request({
      url: 'https://api.oioweb.cn/api/search/FoodHeat',
      method: "GET",
      data: {
        keyword: this.data.name,
        page: 10
      },
      success: (res) => {
        if (res.data.code === 200) {
          wx.showToast({
            title: '查询成功',
            icon: "success"
          })
          asyncSetStorage("a", res.data.result).then(res => {
            wx.navigateTo({
              url: '/pages/nutrition/index'
            })
          })
        } else {
          wx.showToast({
            title: '可能查询失败',
            icon: "error"
          })
        }
      },
      fail: (err) => {
        wx.showToast({
          title: '数据异常',
          icon: "error"
        })
      },
      complete: () => {
        wx.hideLoading()
        this.onClose()
      }
    })
  },
  // 关闭弹窗
  onClose() {
    this.setData({
      popupShow: false,
      name: ''
    });
  },

  // 食物营养查询
  goNutrition() {
    this.setData({
      popupShow: true
    });
  },
  // ai抠图
  afterRead(event) {
    const url = event.detail.file.url
    wx.showLoading({
      title: '正在抠图中...',
    })
    wx.uploadFile({
      filePath: url,
      name: 'file',
      url: 'https://api.oioweb.cn/api/ai/matting',
      success: (res) => {
        const url = JSON.parse(res.data).result
        console.log(url);
        //wx.downloadFile方法：下载文件资源到本地
        wx.downloadFile({
          url: url, //图片地址
          success: (downloadFileRes) => {
            //wx.saveImageToPhotosAlbum方法：保存图片到系统相册
            wx.saveImageToPhotosAlbum({
              filePath: downloadFileRes.tempFilePath, //图片文件路径
              success: (data) => {
                wx.hideLoading(); //隐藏 loading 提示框
                wx.showToast({
                  title: '保存成功',
                  icon: "success"
                })
              },
              fail: async (err) => {
                if (err.errMsg === "saveImageToPhotosAlbum:fail:auth denied" || err.errMsg === "saveImageToPhotosAlbum:fail auth deny" || err.errMsg === "saveImageToPhotosAlbum:fail authorize no response") {
                  const res = await modal({
                    content: '需要您授权保存相册'
                  })
                  if (res) {
                    wx.openSetting({
                      success: (settingdata) => {
                        if (settingdata.authSetting['scope.writePhotosAlbum']) {
                          wx.showToast({
                            title: '获取权限成功，请重新保存',
                          })
                        } else {
                          wx.showToast({
                            title: '获取权限失败',
                          })
                        }
                      },
                      fail(failData) {
                        console.log("failData", failData)
                      },
                      complete(finishData) {
                        console.log("finishData", finishData)
                      }
                    })
                  }
                }
              }
            })
          }
        })
      },
      complete(res) {
        wx.hideLoading(); //隐藏 loading 提示框
      }
    })

  },
  // 获取轮播图地址
  getSwiperUrl() {
    wx.request({
      url: 'https://api.oioweb.cn/api/bing',
      method: "GET",
      success: (res) => {
        this.setData({
          swiperList: res.data.result
        })
      }
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})